/******************************************************************************
 * QwtPolar Widget Library
 * Copyright (C) 2008   Uwe Rathmann
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the Qwt License, Version 1.0
 *****************************************************************************/

#ifndef QWT_POLAR_PANNER_H
#define QWT_POLAR_PANNER_H

#include "qwt_global.h"
#include "qwt_panner.h"
#include "qwt_polar_canvas.h"

/*!
   \brief QwtPolarPanner provides panning of a polar plot canvas

   QwtPolarPanner is a panner for a QwtPolarCanvas, that
   adjusts the visible area after dropping
   the canvas on its new position.

   Together with QwtPolarMagnifier individual ways
   of navigating on a QwtPolarPlot widget can be implemented easily.

   \sa QwtPolarMagnifier
 */
class QWT_EXPORT QwtPolarPanner : public QwtPanner {
  Q_OBJECT

public:
  explicit QwtPolarPanner(QwtPolarCanvas *);
  virtual ~QwtPolarPanner() override;

  QwtPolarPlot *plot();
  const QwtPolarPlot *plot() const;

  QwtPolarCanvas *canvas();
  const QwtPolarCanvas *canvas() const;

public Q_SLOTS:
  virtual void movePlot(int dx, int dy);

protected:
  virtual void widgetMousePressEvent(QMouseEvent *) QWT_OVERRIDE;
};

#endif
